package businessLogic.service;

import dao.ProfesorDAO;
import entity.Profesor;
import java.util.List;
import javax.persistence.EntityManager;
import vo.IValueObject;
import vo.ProfesorVO;

/**
 *
 * @author Alexander
 */
public class ProfesorService implements IService{

    @Override
    public void persist(IValueObject vo, EntityManager em) {
        Profesor entity = new Profesor();
        //entity.setId(((ProfesorVO)vo).getId());
        entity.setNombre(((ProfesorVO)vo).getNombre());
        entity.setApellido(((ProfesorVO)vo).getApellido());
        entity.setReputacion(((ProfesorVO)vo).getReputacion());
        entity.setCorreo(((ProfesorVO)vo).getCorreo());
        entity.setDiaDeClase(((ProfesorVO)vo).getDiaDeClase());
        
        new ProfesorDAO().persist(entity, em);
    }

    @Override
    public IValueObject find(Object id, EntityManager em) {
        return new ProfesorDAO().find(id, em);
    }

    @Override
    public void update(IValueObject vo, EntityManager em) {
        Profesor entity = new Profesor();
        entity.setId(((ProfesorVO)vo).getId());
        entity.setNombre(((ProfesorVO)vo).getNombre());
        entity.setApellido(((ProfesorVO)vo).getApellido());
        entity.setReputacion(((ProfesorVO)vo).getReputacion());
        entity.setDiaDeClase(((ProfesorVO)vo).getDiaDeClase());
        
        new ProfesorDAO().update(entity, em);
    }

    @Override
    public void delete(Object id, EntityManager em) {
        new ProfesorDAO().delete(id, em);
    }

    @Override
    public List<IValueObject> getList(EntityManager em) {
        return new ProfesorDAO().getList(em);
    }
    
    public ProfesorVO findByName(String nombre, String apellido, EntityManager em){
        return new ProfesorDAO().findByName(nombre, apellido, em);
    }
        
}
